package cn.biplam.front.component.view.mdManage.buffer2md.main.callback;

import cn.biplam.common.bean.md.MdTheme;
import cn.biplam.common.bean.md.ModelImportTaskObj;
import cn.biplam.common.struc.MdStruc;
import cn.biplam.common.tools.TOOLS;
import cn.biplam.common.wrapper.ErrorMessage;
import cn.biplam.common.wrapper.Result;
import cn.biplam.common.wrapper.UserInfo;
import cn.biplam.front.callback.CallBack;
import cn.biplam.front.component.data.common.ButtonComp;
import cn.biplam.front.html.HtmlText;
import cn.biplam.front.html.base.HtmlWindow;
import cn.biplam.front.html.base.Const.Float_Type;

/**
 * 模型对象导入，主题字段——修改按钮绑定器
 * @author XiaoRuxing 2009-6-22下午03:59:24
 * @version 1.0
 */
public class Buffer2MdThemeCallBack implements CallBack{

	public HtmlWindow[] getGroup(Result data, String homeUrl, UserInfo mUser)
			throws ErrorMessage {
		/** 创建按钮 */
		HtmlWindow[] opetator=new HtmlWindow[2];
		/** 主题信息 */
		String themeName = getThemeName(data,mUser);
		opetator[0]= new HtmlText(null,null,themeName); 
		opetator[0].setFloat(Float_Type.Left);
		opetator[0].setLength(TOOLS.getTextLength(themeName)+50);
		/** 修改按钮 */
		HtmlWindow bt = ButtonComp.get(mUser, "27");
		bt.setFloat(Float_Type.Right);
		opetator[1]=bt; 
		opetator[1].setLength(30);
		return opetator;
	}
	
	/**
	 * 取主题名称
	 * @param data   行数据
	 * @param mUser  用户信息
	 * @return 主题名称
	 * @throws ErrorMessage
	 */
	private String getThemeName(Result data,UserInfo mUser) throws ErrorMessage{
		//获取模型导入任务数据操作类
		ModelImportTaskObj mito =ModelImportTaskObj.getNewInstance(
											mUser,
											data.getString(MdStruc.ImpCompTabStruc.TASK_ID)
										);
		
		//获取模型主题数据操作类
		MdTheme mto = MdTheme.getNewInstance(mUser,
											 data.getString(MdStruc.ImpCompTabStruc.THEME),
											 mito.getModelType()
											);

		String themeName = mto.getName();
		
		return themeName!=null?themeName:"";
	}

}
